Server farms that facilitate cloud computing resources such as, for example, Software as a Service (SaaS) applications may receive periodic software patches for a variety of reasons. For example, a server farm that facilitates a SaaS email application may receive and install periodic software patches for the SaaS email application to improve existing features, add new features, correct security vulnerabilities, or fix bugs. Installing a software patch may temporarily have a negative impact to the performance or stability of the machines being updated (e.g., patched). Such negative impacts may be particularly disruptive during peak business hours when large numbers of users are accessing server farm computing resources.
Server farm patching systems mitigate these issues by causing software patches to be installed in sequence during off-peak hours. Off-peak hours may be determined for a particular server farm based on the geographic region for the tenants served by that particular server farm. Then, sequential builds of patches may be chronologically transmitted to the particular server farm for system updates to be performed during the determined off-peak hours.
Unfortunately, some system updates cause software regressions that result in features, of software code, demanding increased processing cycles and/or memory usage as compared to previous versions of the software code. Even worse, some software regressions cause features of software code to stop functioning altogether. Under these circumstances, performing subsequent software updates by installing patches chronologically and/or during off-peak hours may delay resolution of a software regression—the result being increased strain on the inherently limited computing resources for server farms affected by software regressions.
It is with respect to these and other considerations that the disclosure made herein is presented.